#include "stdafx.h"
#include <map>
#include <vector>

#ifndef NEEDED_DATA_INCLUDE
#include "NeededData.h"
#endif

#define NAME_MATCH -5001;
#define NORMAL_MATCH -5002;

using namespace std;

class DataMatching
{
public:
	DataMatching();
	~DataMatching();

public:
	void Match( std::map<CString, std::vector<NeededData*>>* mpReferredData, std::map<CString, std::vector<NeededData*>>* mpTargetData );
	map<NeededData*,vector<NeededData*>> GetMatchResult();
private:
	bool MatchString(CString strReferred,CString strTarget, CString strLastName);
	bool AlreadyHave( NeededData* index,std::map<NeededData*,vector<NeededData*>>* m_Index );
	std::map<NeededData*,std::vector<NeededData*>> m_Result;
};